"""思路
定长滑窗的套路：入-更新-出
字符串abci，假如我们已经计算出了子串 abc 的元音个数，那么从子串 abc 到子串 bci，
只需要考虑移除（离开窗口）的字母 a 是不是元音，以及添加（进入窗口）的字母 i 是不是元音即可，
因为中间的字母 b 和 c 都在这两个子串中。
"""
class Solution:
    def maxVowels(self, s: str, k: int) -> int:
        ans=vowel=0
        for i,c in enumerate(s):
            # 1.进入窗口
            if c in "aeiou":
                vowel+=1
            if i<k-1:   # 窗口大小不足k
                continue
            # 2.更新答案
            ans=max(ans,vowel)
            # 3.离开窗口
            if s[i-k+1] in "aeiou":
                vowel-=1
        return ans
